package com.th.supcom.pds.domain.pojo;

import java.util.Date;

import net.carefx.framework.translate.Translatable;
import net.carefx.framework.translate.annotation.TranslateField;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * PdsSupplyDetail Pojo对象.
 * 
 * 供药单明细表.
 * 
 * @author 杨冲
 */
public class PdsSupplyDetail implements java.io.Serializable, Translatable
{
    private static final long serialVersionUID = 1L;

    /** 供药单详情ID. */
    private Long m_supplyDetailId;

    /** 供药ID. */
    private Long m_supplyId;

    /** 供药过程ID. */
    private Long m_proId;

    /** 住院医嘱编码. */
    private Long m_orderId;

    /** 处方单号. */
    private String m_prescNo;

    /** 门诊医嘱子表ID. */
    private Long m_orderItemDetailId;

    /** 是否皮试0-否1-是. */
    @TranslateField (fullQualifiedName = "PDS0010", targetFieldName = "m_isStName")
    private String m_isSt;
    private String m_isStName;

    /** 在院输液0=在院输液1=不在院输液. */
    @TranslateField (fullQualifiedName = "PDS0011", targetFieldName = "m_infusionName")
    private Integer m_infusionFlag;
    private String m_infusionName;

    /** 静脉药物配置中心(Pharmacy Intravenous Admixture Services，PIVAS为其缩写). */
    private Integer m_pivas;

    /** 项目分类(西药、中成药). */
    private String m_phamType;

    /** 药名编码. */
    private String m_phamStdCode;

    /** 药品名称. */
    private String m_phamName;

    /** 项目规格. */
    private String m_phamSpec;

    /** 单次剂量数（特殊情况下，有可能有多个值，以分号隔开，如胰岛素，早 8u、中 12u、晚10u 每次不一样）. */
    private String m_perMedQty;

    /** 毒理分类（字典TJ0017 药品毒理分类）. */
    private String m_toxicologyProperty;

    /** 草药制法(字典表). */
    private String m_herbDecoct;

    /** 单次剂量单位. */
    @TranslateField (fullQualifiedName = "TJ0022", targetFieldName = "m_medUnitName")
    private String m_medUnit;
    private String m_medUnitName;

    /** 见给药途径字典COMM.ADMINISTRATION_DICT. */
    @TranslateField (fullQualifiedName = "TJ0049", targetFieldName = "m_usageCodName")
    private String m_usageCod;
    private String m_usageCodName;
    /** 医嘱医疗频率. */
    @TranslateField (fullQualifiedName = "TJ0050", targetFieldName = "m_freqCodeName")
    private String m_freqCode;
    private String m_freqCodeName;
    /** 医嘱医疗频率执行描述（频次时间点以及用量相关信息). */
    private String m_freqTimeQty;

    /** 如瓶、包等，使用规范描述，见计量单位字典. */
    @TranslateField (fullQualifiedName = "TJ0024", targetFieldName = "m_packageUnitName")
    private String m_packageUnit;
    private String m_packageUnitName;

    /**
     * 包装价格
     */
    private Double m_packagePrice;
    /** 按包装算. */
    private Double m_unitQty;

    /** 总数量单位与基本(最小)单位的换算系数. */
    private Double m_factor;

    /** 总数量. */
    private Double m_qtySum;

    /** 总数量单位. */
    @TranslateField (fullQualifiedName = "TJ0024", targetFieldName = "m_qtyUnitName")
    private String m_qtyUnit;
    private String m_qtyUnitName;

    /** 出院带药医嘱周期数量. */
    private Double m_durationQty;

    /** 出院带药医嘱周期单位. */
    @TranslateField (fullQualifiedName = "TJ0024", targetFieldName = "m_durationUnitName")
    private String m_durationUnit;
    private String m_durationUnitName;

    /** 是否组合医嘱(0否1是). */
    private String m_isGroupOrder;

    /** 执行科室. */
    @TranslateField (translatorName = "organizationTranslator", targetFieldName = "m_performedByName")
    private String m_performedBy;
    private String m_performedByName;

    /** 序号. */
    private Long m_sortNumber;

    /**
     * 按批发价格计算得到的费用划价采集
     * 
     * 用于院内职工批价优惠就医。.
     */
    private Double m_tradeCosts;

    /** 按标准价格计算得到的费用划价采集. */
    private Double m_costs;

    /** 药品级别代码. */
    private String m_officialDrugLevel;

    /** 有效期. */
    private Date m_receiptDate;

    /** 批次号. */
    private String m_phamBatchNumber;

    /** 原供药单详情ID. */
    private Long m_oldSupplyDetailId;

    /** 最小单位与剂量单位换算系数 */
    private Double m_dosePerUnit;

    /**
     * 默认构造器 .
     */
    public PdsSupplyDetail ()
    {
    }

    /**
     * 获得 最小单位与剂量单位换算系数
     * 
     * @return
     */
    public Double getDosePerUnit ()
    {
        return m_dosePerUnit;
    }

    /**
     * 设置 最小单位与剂量单位换算系数
     * 
     * @param dosePerUnit
     */
    public void setDosePerUnit (Double dosePerUnit)
    {
        m_dosePerUnit = dosePerUnit;
    }

    /**
     * 获取 包装价格
     * 
     * @return
     */
    public Double getPackagePrice ()
    {
        return m_packagePrice;
    }

    /**
     * 设置 包装价格
     * 
     * @param packagePrice
     */
    public void setPackagePrice (Double packagePrice)
    {
        m_packagePrice = packagePrice;
    }

    /**
     * @return the usageCodName
     */
    public String getUsageCodName ()
    {
        return m_usageCodName;
    }

    /**
     * @param usageCodName the usageCodName to set.
     */
    public void setUsageCodName (String usageCodName)
    {
        m_usageCodName = usageCodName;
    }

    /**
     * 获取供药单详情ID属性.
     * 
     */
    public Long getSupplyDetailId ()
    {
        return m_supplyDetailId;
    }

    /**
     * 设置供药单详情ID属性.
     * 
     * @param supplyDetailId.
     */
    public void setSupplyDetailId (Long supplyDetailId)
    {
        m_supplyDetailId = supplyDetailId;
    }

    /**
     * 获取供药ID属性.
     * 
     */
    public Long getSupplyId ()
    {
        return m_supplyId;
    }

    /**
     * 设置供药ID属性.
     * 
     * @param supplyId.
     */
    public void setSupplyId (Long supplyId)
    {
        m_supplyId = supplyId;
    }

    /**
     * 获取供药过程ID属性.
     * 
     */
    public Long getProId ()
    {
        return m_proId;
    }

    /**
     * 设置供药过程ID属性.
     * 
     * @param proId.
     */
    public void setProId (Long proId)
    {
        m_proId = proId;
    }

    /**
     * 获取住院医嘱编码属性.
     * 
     */
    public Long getOrderId ()
    {
        return m_orderId;
    }

    /**
     * 设置住院医嘱编码属性.
     * 
     * @param orderId.
     */
    public void setOrderId (Long orderId)
    {
        m_orderId = orderId;
    }

    /**
     * 获取处方单号属性.
     * 
     */
    public String getPrescNo ()
    {
        return m_prescNo;
    }

    /**
     * 设置处方单号属性.
     * 
     * @param prescNo.
     */
    public void setPrescNo (String prescNo)
    {
        m_prescNo = prescNo;
    }

    /**
     * 获取门诊医嘱子表ID属性.
     * 
     */
    public Long getOrderItemDetailId ()
    {
        return m_orderItemDetailId;
    }

    /**
     * 设置门诊医嘱子表ID属性.
     * 
     * @param orderItemDetailId.
     */
    public void setOrderItemDetailId (Long orderItemDetailId)
    {
        m_orderItemDetailId = orderItemDetailId;
    }

    /**
     * 获取是否皮试0-否1-是属性.
     * 
     */
    public String getIsSt ()
    {
        return m_isSt;
    }

    /**
     * 设置是否皮试0-否1-是属性.
     * 
     * @param isSt.
     */
    public void setIsSt (String isSt)
    {
        m_isSt = isSt;
    }

    /**
     * 获取在院输液0=在院输液1=不在院输液属性.
     * 
     */
    public Integer getInfusionFlag ()
    {
        return m_infusionFlag;
    }

    /**
     * 设置在院输液0=在院输液1=不在院输液属性.
     * 
     * @param infusionFlag.
     */
    public void setInfusionFlag (Integer infusionFlag)
    {
        m_infusionFlag = infusionFlag;
    }

    /**
     * 获取静脉药物配置中心(Pharmacy Intravenous Admixture Services，PIVAS为其缩写)属性.
     * 
     */
    public Integer getPivas ()
    {
        return m_pivas;
    }

    /**
     * 设置静脉药物配置中心(Pharmacy Intravenous Admixture Services，PIVAS为其缩写)属性.
     * 
     * @param pivas.
     */
    public void setPivas (Integer pivas)
    {
        m_pivas = pivas;
    }

    /**
     * 获取项目分类(西药、中成药)属性.
     * 
     */
    public String getPhamType ()
    {
        return m_phamType;
    }

    /**
     * 设置项目分类(西药、中成药)属性.
     * 
     * @param phamType.
     */
    public void setPhamType (String phamType)
    {
        m_phamType = phamType;
    }

    /**
     * 获取药名编码属性.
     * 
     */
    public String getPhamStdCode ()
    {
        return m_phamStdCode;
    }

    /**
     * 设置药名编码属性.
     * 
     * @param phamStdCode.
     */
    public void setPhamStdCode (String phamStdCode)
    {
        m_phamStdCode = phamStdCode;
    }

    /**
     * 获取药品名称属性.
     * 
     */
    public String getPhamName ()
    {
        return m_phamName;
    }

    /**
     * 设置药品名称属性.
     * 
     * @param phamName.
     */
    public void setPhamName (String phamName)
    {
        m_phamName = phamName;
    }

    /**
     * 获取项目规格属性.
     * 
     */
    public String getPhamSpec ()
    {
        return m_phamSpec;
    }

    /**
     * 设置项目规格属性.
     * 
     * @param phamSpec.
     */
    public void setPhamSpec (String phamSpec)
    {
        m_phamSpec = phamSpec;
    }

    /**
     * 获取单次剂量数（特殊情况下，有可能有多个值，以分号隔开，如胰岛素，早 8u、中 12u、晚10u 每次不一样）属性.
     * 
     */
    public String getPerMedQty ()
    {
        return m_perMedQty;
    }

    /**
     * 设置单次剂量数（特殊情况下，有可能有多个值，以分号隔开，如胰岛素，早 8u、中 12u、晚10u 每次不一样）属性.
     * 
     * @param perMedQty.
     */
    public void setPerMedQty (String perMedQty)
    {
        m_perMedQty = perMedQty;
    }

    /**
     * 获取毒理分类（字典TJ0017 药品毒理分类）属性.
     * 
     */
    public String getToxicologyProperty ()
    {
        return m_toxicologyProperty;
    }

    /**
     * 设置毒理分类（字典TJ0017 药品毒理分类）属性.
     * 
     * @param toxicologyProperty.
     */
    public void setToxicologyProperty (String toxicologyProperty)
    {
        m_toxicologyProperty = toxicologyProperty;
    }

    /**
     * 获取草药制法(字典表)属性.
     * 
     */
    public String getHerbDecoct ()
    {
        return m_herbDecoct;
    }

    /**
     * 设置草药制法(字典表)属性.
     * 
     * @param herbDecoct.
     */
    public void setHerbDecoct (String herbDecoct)
    {
        m_herbDecoct = herbDecoct;
    }

    /**
     * 获取单次剂量单位属性.
     * 
     */
    public String getMedUnit ()
    {
        return m_medUnit;
    }

    /**
     * 设置单次剂量单位属性.
     * 
     * @param medUnit.
     */
    public void setMedUnit (String medUnit)
    {
        m_medUnit = medUnit;
    }

    /**
     * 获取见给药途径字典COMM.ADMINISTRATION_DICT属性.
     * 
     */
    public String getUsageCod ()
    {
        return m_usageCod;
    }

    /**
     * 设置见给药途径字典COMM.ADMINISTRATION_DICT属性.
     * 
     * @param usageCod.
     */
    public void setUsageCod (String usageCod)
    {
        m_usageCod = usageCod;
    }

    /**
     * 获取医嘱医疗频率属性.
     * 
     */
    public String getFreqCode ()
    {
        return m_freqCode;
    }

    /**
     * 设置医嘱医疗频率属性.
     * 
     * @param freqCode.
     */
    public void setFreqCode (String freqCode)
    {
        m_freqCode = freqCode;
    }

    /**
     * 获取医嘱医疗频率执行描述（频次时间点以及用量相关信息)属性.
     * 
     */
    public String getFreqTimeQty ()
    {
        return m_freqTimeQty;
    }

    /**
     * 设置医嘱医疗频率执行描述（频次时间点以及用量相关信息)属性.
     * 
     * @param freqTimeQty.
     */
    public void setFreqTimeQty (String freqTimeQty)
    {
        m_freqTimeQty = freqTimeQty;
    }

    /**
     * 获取如瓶、包等，使用规范描述，见计量单位字典属性.
     * 
     */
    public String getPackageUnit ()
    {
        return m_packageUnit;
    }

    /**
     * 设置如瓶、包等，使用规范描述，见计量单位字典属性.
     * 
     * @param packageUnit.
     */
    public void setPackageUnit (String packageUnit)
    {
        m_packageUnit = packageUnit;
    }

    /**
     * 获取按包装算属性.
     * 
     */
    public Double getUnitQty ()
    {
        return m_unitQty;
    }

    /**
     * 设置按包装算属性.
     * 
     * @param unitQty.
     */
    public void setUnitQty (Double unitQty)
    {
        m_unitQty = unitQty;
    }

    /**
     * 获取总数量单位与基本(最小)单位的换算系数属性.
     * 
     */
    public Double getFactor ()
    {
        return m_factor;
    }

    /**
     * 设置总数量单位与基本(最小)单位的换算系数属性.
     * 
     * @param factor.
     */
    public void setFactor (Double factor)
    {
        m_factor = factor;
    }

    /**
     * 获取总数量属性.
     * 
     */
    public Double getQtySum ()
    {
        return m_qtySum;
    }

    /**
     * 设置总数量属性.
     * 
     * @param qtySum.
     */
    public void setQtySum (Double qtySum)
    {
        m_qtySum = qtySum;
    }

    /**
     * 获取总数量单位属性.
     * 
     */
    public String getQtyUnit ()
    {
        return m_qtyUnit;
    }

    /**
     * 设置总数量单位属性.
     * 
     * @param qtyUnit.
     */
    public void setQtyUnit (String qtyUnit)
    {
        m_qtyUnit = qtyUnit;
    }

    /**
     * 获取出院带药医嘱周期数量属性.
     * 
     */
    public Double getDurationQty ()
    {
        return m_durationQty;
    }

    /**
     * 设置出院带药医嘱周期数量属性.
     * 
     * @param durationQty.
     */
    public void setDurationQty (Double durationQty)
    {
        m_durationQty = durationQty;
    }

    /**
     * 获取出院带药医嘱周期单位属性.
     * 
     */
    public String getDurationUnit ()
    {
        return m_durationUnit;
    }

    /**
     * 设置出院带药医嘱周期单位属性.
     * 
     * @param durationUnit.
     */
    public void setDurationUnit (String durationUnit)
    {
        m_durationUnit = durationUnit;
    }

    /**
     * 获取是否组合医嘱(0否1是)属性.
     * 
     */
    public String getIsGroupOrder ()
    {
        return m_isGroupOrder;
    }

    /**
     * 设置是否组合医嘱(0否1是)属性.
     * 
     * @param isGroupOrder.
     */
    public void setIsGroupOrder (String isGroupOrder)
    {
        m_isGroupOrder = isGroupOrder;
    }

    /**
     * 获取执行科室属性.
     * 
     */
    public String getPerformedBy ()
    {
        return m_performedBy;
    }

    /**
     * 设置执行科室属性.
     * 
     * @param performedBy.
     */
    public void setPerformedBy (String performedBy)
    {
        m_performedBy = performedBy;
    }

    /**
     * 获取序号属性.
     * 
     */
    public Long getSortNumber ()
    {
        return m_sortNumber;
    }

    /**
     * 设置序号属性.
     * 
     * @param sortNumber.
     */
    public void setSortNumber (Long sortNumber)
    {
        m_sortNumber = sortNumber;
    }

    /**
     * 获取按批发价格计算得到的费用划价采集
     * 
     * 用于院内职工批价优惠就医。属性.
     * 
     */
    public Double getTradeCosts ()
    {
        return m_tradeCosts;
    }

    /**
     * 设置按批发价格计算得到的费用划价采集
     * 
     * 用于院内职工批价优惠就医。属性.
     * 
     * @param tradeCosts.
     */
    public void setTradeCosts (Double tradeCosts)
    {
        m_tradeCosts = tradeCosts;
    }

    /**
     * 获取按标准价格计算得到的费用划价采集属性.
     * 
     */
    public Double getCosts ()
    {
        return m_costs;
    }

    /**
     * 设置按标准价格计算得到的费用划价采集属性.
     * 
     * @param costs.
     */
    public void setCosts (Double costs)
    {
        m_costs = costs;
    }

    /**
     * 获取药品级别代码属性.
     * 
     */
    public String getOfficialDrugLevel ()
    {
        return m_officialDrugLevel;
    }

    /**
     * 设置药品级别代码属性.
     * 
     * @param officialDrugLevel.
     */
    public void setOfficialDrugLevel (String officialDrugLevel)
    {
        m_officialDrugLevel = officialDrugLevel;
    }

    /**
     * 获取有效期属性.
     * 
     */
    public Date getReceiptDate ()
    {
        if (m_receiptDate == null)
        {
            return null;
        }
        return (Date) m_receiptDate.clone ();
    }

    /**
     * 设置有效期属性.
     * 
     * @param receiptDate.
     */
    public void setReceiptDate (Date receiptDate)
    {
        if (receiptDate == null)
        {
            m_receiptDate = null;
        }
        else
        {
            m_receiptDate = (Date) receiptDate.clone ();
        }
    }

    /**
     * 获取批次号属性.
     * 
     */
    public String getPhamBatchNumber ()
    {
        return m_phamBatchNumber;
    }

    /**
     * 设置批次号属性.
     * 
     * @param phamBatchNumber.
     */
    public void setPhamBatchNumber (String phamBatchNumber)
    {
        m_phamBatchNumber = phamBatchNumber;
    }

    /**
     * 获取原供药单详情ID属性.
     * 
     */
    public Long getOldSupplyDetailId ()
    {
        return m_oldSupplyDetailId;
    }

    /**
     * 设置原供药单详情ID属性.
     * 
     * @param oldSupplyDetailId.
     */
    public void setOldSupplyDetailId (Long oldSupplyDetailId)
    {
        m_oldSupplyDetailId = oldSupplyDetailId;
    }

    /**
     * 获取是否皮试名称
     * 
     * @return Add by yangchong
     */
    public String getIsStName ()
    {

        return m_isStName;
    }

    /**
     * 设置首府皮试名称
     * 
     * @param isStName Add by yangchong
     */
    public void setIsStName (String isStName)
    {

        m_isStName = isStName;
    }

    /**
     * 获取是否静配名称
     * 
     * @return Add by yangchong
     */
    public String getInfusionName ()
    {

        return m_infusionName;
    }

    /**
     * 设置是否静配名称
     * 
     * @param infusionName Add by yangchong
     */
    public void setInfusionName (String infusionName)
    {

        m_infusionName = infusionName;
    }

    /**
     * 获取单次剂量单位名称
     * 
     * @return Add by yangchong
     */
    public String getMedUnitName ()
    {

        return m_medUnitName;
    }

    /**
     * 设置单次剂量单位名称
     * 
     * @param medUnitName Add by yangchong
     */
    public void setMedUnitName (String medUnitName)
    {

        m_medUnitName = medUnitName;
    }

    /**
     * 获取总数量单位名称
     * 
     * @return Add by yangchong
     */
    public String getQtyUnitName ()
    {

        return m_qtyUnitName;
    }

    /**
     * 设置总数量单位名称
     * 
     * @param qtyUnitName Add by yangchong
     */
    public void setQtyUnitName (String qtyUnitName)
    {

        m_qtyUnitName = qtyUnitName;
    }

    /**
     * 获取周期单位名称
     * 
     * @return Add by yangchong
     */
    public String getDurationUnitName ()
    {

        return m_durationUnitName;
    }

    /**
     * 设置周期单位名称
     * 
     * @param durationUnitName Add by yangchong
     */
    public void setDurationUnitName (String durationUnitName)
    {

        m_durationUnitName = durationUnitName;
    }

    /**
     * 获取执行科室名称
     * 
     * @return Add by yangchong
     */
    public String getPerformedByName ()
    {

        return m_performedByName;
    }

    /**
     * 设置执行科室名称
     * 
     * @param performedByName Add by yangchong
     */
    public void setPerformedByName (String performedByName)
    {

        m_performedByName = performedByName;
    }

    public String getPackageUnitName ()
    {
        return this.m_packageUnitName;
    }

    public void setPackageUnitName (String packageUnitName)
    {
        m_packageUnitName = packageUnitName;
    }

    public String getFreqCodeName ()
    {
        return m_freqCodeName;
    }

    public void setFreqCodeName (String freqCodeName)
    {
        m_freqCodeName = freqCodeName;
    }

    /**
     * 打印字符串.
     * 
     * @return 打印.
     */
    public String toString ()
    {
        StringBuffer sb = new StringBuffer (100);
        sb.append ("---------------------------------- start ----------------------------------");
        sb.append ("supplyDetailId:" + m_supplyDetailId + " supplyId:" + m_supplyId + " proId:" + m_proId);
        sb.append ("orderId:" + m_orderId + " prescNo:" + m_prescNo + " orderItemDetailId:" + m_orderItemDetailId);
        sb.append ("isSt:" + m_isSt + " infusionFlag:" + m_infusionFlag + " pivas:" + m_pivas);
        sb.append ("phamType:" + m_phamType + " phamStdCode:" + m_phamStdCode + " phamName:" + m_phamName);
        sb.append ("phamSpec:" + m_phamSpec + " perMedQty:" + m_perMedQty + " toxicologyProperty:" + m_toxicologyProperty);
        sb.append ("herbDecoct:" + m_herbDecoct + " medUnit:" + m_medUnit + " usageCod:" + m_usageCod);
        sb.append ("freqCode:" + m_freqCode + " freqTimeQty:" + m_freqTimeQty);
        sb.append (" unitName:" + m_packageUnit + " unitQty:" + m_unitQty);
        sb.append ("factor:" + m_factor + " qtySum:" + m_qtySum + " qtyUnit:" + m_qtyUnit);
        sb.append ("durationQty:" + m_durationQty + " durationUnit:" + m_durationUnit + " isGroupOrder:" + m_isGroupOrder);
        sb.append ("performedBy:" + m_performedBy + " sortNumber:" + m_sortNumber + " tradeCosts:" + m_tradeCosts);
        sb.append ("costs:" + m_costs + " officialDrugLevel:" + m_officialDrugLevel + " receiptDate:" + m_receiptDate);
        sb.append ("phamBatchNumber:" + m_phamBatchNumber + " oldSupplyDetailId:" + m_oldSupplyDetailId);

        sb.append ("----------------------------------  end  ----------------------------------");
        return sb.toString ();
    }

    /** 日志记录器. */
    public static final Logger s_logger = LoggerFactory.getLogger (PdsSupplyDetail.class);

    /** 公司版权信息. */
    public static final String copyright = "Copyright 2015, TH Supcom Corporation";

    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";

    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";
}